#pragma once

#include <string>
using std::string;

#include <GL/glew.h>
#include <GL/glut.h>

#include "glm.h"


class VBOModel
{
public:
	VBOModel(string modelFileName);
	~VBOModel(void);

	void draw();

	GLfloat getScale();

private:
	
	void* BUFFER_OFFSET(int i) { return (char *)NULL + i; };

	void makeVBO(GLMmodel* glmModel);

private:

	struct MyVertex
	{
		float x, y, z;        //Vertex
		float nx, ny, nz;     //Normal
		float s0, t0;         //Texcoord
	};

	GLMmodel* glmModel;

	GLfloat scale;
	
	GLuint textureId;

	GLuint VertexVBOID;
	GLuint* IndexVBOIDs;
};